package ${packageName}.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.xunfong.common.core.domain.dto.BatchDTO;
import ${packageName}.entity.${className};
import ${packageName}.dto.${dto};
import ${packageName}.dto.${queryDTO};
import ${packageName}.vo.${vo};
import top.xunfong.mybatis.core.page.PageDTO;
import top.xunfong.common.core.domain.R;
import top.xunfong.common.core.domain.TableDataInfo;

public interface ${service} extends IService<${className}> {
    /**
     * 新增
     *
     * @param dto
     * @return
     */
    R<?> insert${className}(${dto} dto);


    /**
     * 修改
     *
     * @param dto
     * @return
     */
    R<?> update${className}(${dto} dto);

    /**
     * 批量删除
     *
     * @param dto
     * @return
     */
    R<?> delete${className}(BatchDTO<Long> dto);

    /**
     * 列表查询
     *
     * @param dto
     * @return
     */
    TableDataInfo<${vo}> list${className}(${queryDTO} dto, PageDTO pageDTO);

    /**
     * 单查询
     *
     * @param id
     * @return
     */
    R<${vo}> single${className}(Long id);
}